package com.leonzhangxf.client.register;

import java.util.List;

/**
 * @author leonzhangxf
 */
public interface ServiceLoader {

    /**
     * 加载节点地址
     *
     * @param serviceId 服务Id
     * @param callback  节点列表变更回调
     * @return 节点列表
     * @throws Exception Exception
     */
    List<Node> loadNode(String serviceId, NodeListChangeCallback callback) throws Exception;

    interface NodeListChangeCallback {
        /**
         * 节点列表变更
         *
         * @param nodes 新的节点列表
         */
        void nodeListChanged(List<Node> nodes);
    }
}
